package day15.socketdemo08;

import java.io.*;
import java.net.Socket;

/**
 * @author Xiao
 * @date 2021/8/9
 */
public class ClientDemo08 {
    /**
     * 需求：
     * 客户端：将本地文件上传到服务器，接收服务器的反馈；
     * 服务器：接收客户端上传的文件，上传完毕之后给出反馈。
     */
    public static void main(String[] args) throws IOException {
        //创建客户端Socket对象，指定主机和端口
        Socket so = new Socket("127.0.0.1",10000);
        //创建本地缓冲输入流对象读入本地文件，创建客户端输出流对象写出文件至服务器
        BufferedReader br = new BufferedReader(new FileReader(
                "videoPractice\\src\\day15\\socketdemo08\\demo08.txt"));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(so.getOutputStream()));
        String s;
        while ((s = br.readLine()) != null) {
            bw.write(s);
            bw.newLine();
        }
        bw.flush();
        //标记文件传输完毕
        so.shutdownOutput();
        //创建网络输入流对象读入服务器传来的反馈信息
        BufferedReader br1 = new BufferedReader(new InputStreamReader(so.getInputStream()));
        String s1;
        while ((s1 = br1.readLine()) != null) {
            System.out.println(s1);
        }
        //关闭本地IO流和客户端Socket对象
        br.close();
        so.close();
    }
}
